package DataBase;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;

public class Resultado {

    Vector<Object[]> registros = new Vector<Object[]>();
    String[] campos;

    public Resultado(ResultSet rs) throws SQLException {

        ResultSetMetaData md = rs.getMetaData();
        int cols = md.getColumnCount();

        campos = new String[cols];

        for (int i = 0; i < cols; i++)
            campos[i] = md.getColumnName(i + 1);

        Object[] linha;

        while (rs.next()){
            linha = new Object[cols];
            for (int i = 0; i < cols; i++)
                linha[i] = rs.getObject(i + 1);

            registros.add(linha);
        }
    }

    public int qtdRegistros() {
        return registros.size();
    }

    public int qtdCampos() {
        return campos.length;
    }

    public String nomeCampo(int i){
        return campos[i];
    }

    public int indiceCampo(String nome){

        for (int i = 0; i < campos.length; i++){
            if (campos[i].toUpperCase().equals(nome.toUpperCase()))
                return i;
        }

        return -1;
    }

    public Object valorCampo(int registro, String nome){

        int campo = indiceCampo(nome);
        if (campo >= 0)
            return registros.get(registro)[campo];
        else
            return null;

    }

    public Object valorCampo(int registro, int campo){

        return registros.get(registro)[campo];

    }

}
